function max() {
    var iMax=arguments[0]
    for(var i=0;i<arguments.length;i++){
        if(iMax<arguments[i]){
            iMax=arguments[i]
        }
    }
    return iMax
}
function sum(){
    var res =0
    for(var i=0;i<arguments.length;i++){
        res+=arguments[i]
    }
    return res
}
function min(){
    var iMin=arguments[0]
    for(var i=0;i<arguments.length;i++){
        if(iMin>arguments[i]){
            iMin=arguments[i]
        }
    }
    return iMin
}

function mapArr(arr,n){
    var newArr =[]
    for(var i=0;i<arr.length;i++){
        newArr.push(arr[i]*n)
    }
    return newArr
}
// 冒泡排序
function bubbleSort(arr){
    for(var j=0;j<arr.length-1;j++){
        for(var i=0;i<arr.length-j-1;i++){
            if(arr[i]>arr[i+1]){
                var tem=arr[i]
                arr[i]=arr[i+1]
                arr[i+1]=tem
            }
        }
     }
     return arr
}
// 选择排序
function selectSort(arr){
    for(var j=0;j<arr.length-1;j++){
        var index=j
        for(var i=j;i<arr.length;i++){
            if(arr[i]>arr[index]){
                index =i
            }
        }
        if(j!==index){
            var tmp =arr[j]
            arr[j]=arr[index]
            arr[index]=tmp
        }
    
    }
    return arr
}
// 钱币格式
function mFn(n){
    var arr=(n+'').split('').reverse()
    var newArr=[]
    for(var i=0;i<arr.length;i++){
        newArr.push(arr[i])
        if((i+1)%3==0){
            newArr.push(',')
        }
    }
    var str=newArr.reverse().join('')
    if(str[0]===','){
        str=str.replace(',','')
    }
    return str
}
// 把对象转成字符串  要求输出：name:'Jack'&age:18&id:9527
function queryStr(obj){
    // 准备一个数组
    var arr=[]
        // 循环对象  把拼接好的内容存到数组里面
        for(var attr in obj){
            // 存到数组里
            arr.push(attr+'='+obj[attr])
        }
    return arr.join('&')
}
// 把字符串转成对象  {name：'Jack',age:'18',id:9527'}
function strquery(str){
    // 准备一个对象
    var obj={}
    // 把字符串转成数组
    var arr=str.split('&')
    // 循环数组吧里面的等号切掉
    arr.forEach(function(ele){
        var newArr=ele.split('=')
        // console.log(newArr[0])   对象的键
        // console.log(newArr[1])   对象的值\
        obj[newArr[0]]=newArr[1]
    })
    return obj
}
// 随机数
function random(n,m){
    return parseInt(Math.random()*(m-n)+n)
}
// 小于10加0
function toDou(n){
    return n<10?'0'+n:''+n
}
// 年
function formatYear(n){
    var a =parseInt(n/1000)
    var b =parseInt((n/100)%10)
    var c =parseInt((n/10)%10)
    var d = parseInt(n%10)

    return arr[a]+arr[b]+arr[c]+arr[d]
}
// 0-59 变  零-五十九
function formatNumber(n){
    if(n<=10){
        return arr[n]
    }else if(n>10&&n<20){
        return arr[10]+arr[n%10]
    }else if(n===20||n===30||n===40||n===50){
        return arr[n/10]+arr[10]
    }else{
        return arr[parseInt(n/10)]+arr[10]+arr[n%10]
    }
}
// 倒计时
function tick(){
    // 获取一个当前时间
    var now =new Date()
    var hours=now.getHours()

    // 判断是不是奇数   如果是就-1变偶数
    if(hours%2!==0){
        hours--
    }
    oCi.innerHTML=toDou(hours+':00')

    // 倒计时
    // 未来时间
    var target = new Date()
    target.setHours(hours+2,0,0,0)  //设置目标时间

    // 时间差
    var reduce =parseInt((target-now)/1000)
    // 小时
    oHour.innerHTML=toDou(parseInt(reduce/3600))
    // 分钟
    oMinute.innerHTML=toDou(parseInt(reduce%3600/60))
    // 秒
    oSecond.innerHTML=toDou(parseInt(reduce%60))
} 
// 选项卡封装
function tab(parent){
    var aBtn=parent.querySelectorAll('input')
    var aDiv=parent.querySelectorAll('div')
    aBtn.forEach(function(ele,index){
        aBtn[index].onclick=function(){
            for(var i=0;i<aBtn.length;i++){
                aBtn[i].className=''
                aDiv[i].className=''
            }
            aBtn[index].className='on'
            aDiv[index].className='on'
        }  
    })
}
// 封装非行间样式
function getStyle(obj,style){
    // console.log(getComputedStyle(obj)[style])
    return getComputedStyle(obj)[style]
}
// 封装拖拽
function drag (ele){
    ele.onmousedown = function (ev){
        var oldX = ev.offsetX
        var oldY = ev.offsetY
        document.onmousemove = function (ev){
            var x = ev.pageX - oldX
            var y = ev.pageY - oldY

            ele.style.left = x + 'px'
            ele.style.top = y + 'px'
        }
        return false
    }

    ele.onmouseup = function (){
        document.onmousemove = null
    }
}
// ajax
function ajax(options) {
    // 1. 创建
    let xhr = new XMLHttpRequest()

    // 2. 连接
    if (options.type === 'get') {
        xhr.open('get', options.url + '?' + queryStr(options.data), true)
    }
    if (options.type === 'post') {
        xhr.open('post', options.url, true)
    }
    // 3. 发送
    if (options.type === 'get') {
        xhr.send()
    }
    if (options.type === 'post') {
        // 设置请求头
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
        xhr.send(queryStr(options.data))
    }

    // 4. 接收
    xhr.onload = function () {
        // console.log(xhr.responseText)
        // console.log(options.success)
        // options.success(xhr.responseText)
        if (options.success) {
            options.success(xhr.responseText)
        }
    }
}
// 移动
function move(obj, attr, target, fn) {
    clearInterval(timer)
    timer = setInterval(function () {
        // 起点     getComputedStyle(元素)[样式名]获取非行间样式
        let start = parseFloat(getComputedStyle(obj)[attr])
        // 距离
        let cur = (target - start) / 5
        // 有可能出现小数，正数向上取整，负数向下取整
        cur = cur > 0 ? Math.ceil(cur) : Math.floor(cur)
        // 起点 + 距离 = 每次移动距离
        obj.style[attr] = start + cur + 'px'
        // 停止定时器
        if (start === target) {
            clearInterval(timer)
            // 所有复杂数据类型只能反向判断，不能等于 Boolean(fn) === true
            if (fn != undefined) {
                fn()
            }
        }
    }, 16)
}